Towards Unifying Inheritance and Automatic Program Specialization
نویسنده
چکیده
Inheritance allows a class to be specialized and its attributes refined, but implementation specialization can only take place by overriding with manually implemented methods. Automatic program specialization can generate a specialized, efficient implementation. However, specialization of programs and specialization of classes (inheritance) are considered different abstractions. We present a new programming language, Lapis, that unifies inheritance and program specialization at the conceptual, syntactic, and semantic levels. This paper presents the initial development of Lapis, which uses inheritance with covariant specialization to control the automatic application of program specialization to class members. Lapis integrates objectoriented concepts, block structure, and techniques from automatic program specialization to provide both a language where object-oriented designs can be efficiently implemented and a simple yet powerful partial evaluator for an object-oriented language.
منابع مشابه
A Unification of Inheritance and Automatic Program Specialization
The object-oriented style of programming facilitates program adaptation and enhances program genericness, but at the expense of efficiency. Automatic program specialization can be used to generate specialized, efficient implementations for specific scenarios, but requires the program to be structured appropriately for specialization and is yet another new concept for the programmer to understan...
متن کاملExtending the Notation for Specialization/Generalization Proposal for a Discussion Group
This paper does not present research results: our motivation is rather to propose a topic for discussion at the MASPEGHI 2003 workshop. It is inspired by several papers of the previous MASPEGHI workshop and by conclusions of our research work about automatic class hierarchy construction and transformation. The question we would like to ask is as follows: do we think current proposal (UML) for s...
متن کاملPartial Evaluation and the Generation of Program Generators
Partial evaluation has been the subject of rapidly increasing activity over the past decade since it provides a unifying paradigm for a broad spectrum of work in program optimization, compiling, interpretation and the generation of automatic program generators [7,14,25]. It is a program optimization technique, perhaps better called program specialization, closely related to but different from J...
متن کاملTowards Automatic Specialization of Java Programs
Automatic program specialization can derive efficient implementations from generic components, thus reconciling the often opposing goals of genericity and efficiency. This technique has proved useful within the domains of imperative, functional, and logical languages, but so far has not been explored within the domain of object-oriented languages. We present experiments in the specialization of...
متن کاملAbstract Specialization and Its Application to Program Parallelization
Specialization and its Application to Program Parallelization Germán Puebla and Manuel Hermenegildo {german,herme}@fi.upm.es Department of Computer Science Technical University of Madrid (UPM) Abstract. Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specia...
متن کامل